package br.com.projetosivan.model;

import java.util.Date;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

import br.com.projetosivan.util.Consts;

@Entity 
@Table (name = Consts.TAB_SUF + "PRODUTO", schema = Consts.SCHEMA)
public class Produto {
	@Id
	@GeneratedValue
	private Long id;
	@Column (name="nome", length=200, nullable=false)
	private String nome;
	@Column (name="descricao", length=500)
	private String descricao;
	@Column (name="prazo", length=3)
	private Integer prazo;
	@Column (name="sob_encomenda", length=1, nullable=false)
	private Integer sobEncomenda;
	@Column (name="data_cadastro", nullable=false)
	private Date dataCadastro;
	@Column (name="preco")
	private Float preco;
	@Column (name="peso")
	private Float peso;
	@ManyToOne
	@JoinColumn(name="id_tipo_produto", nullable=false, referencedColumnName="id")
	private TipoProduto tipoProduto;
	@OneToMany(mappedBy="produto")
	private List<FotoProduto> fotoproduto;
	@Column (name="imgpath", length=500)
	private String imgpath;
	
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
	public String getNome() {
		return nome;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}
	public String getDescricao() {
		return descricao;
	}
	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}
	public Integer getPrazo() {
		return prazo;
	}
	public void setPrazo(Integer prazo) {
		this.prazo = prazo;
	}
	public Integer getSobEncomenda() {
		return sobEncomenda;
	}
	public void setSobEncomenda(Integer sobEncomenda) {
		this.sobEncomenda = sobEncomenda;
	}
	public Date getDataCadastro() {
		return dataCadastro;
	}
	public void setDataCadastro(Date dataCadastro) {
		this.dataCadastro = dataCadastro;
	}
	public Float getPreco() {
		return preco;
	}
	public void setPreco(Float preco) {
		this.preco = preco;
	}
	public TipoProduto getTipoProduto() {
		return tipoProduto;
	}
	public void setTipoProduto(TipoProduto tipoProduto) {
		this.tipoProduto = tipoProduto;
	}
	public List<FotoProduto> getFotoproduto() {
		return fotoproduto;
	}
	public void setFotoproduto(List<FotoProduto> fotoproduto) {
		this.fotoproduto = fotoproduto;
	}
	public String getImgpath() {
		return imgpath;
	}
	public void setImgpath(String imgpath) {
		this.imgpath = imgpath;
	}
	public Float getPeso() {
		return peso;
	}
	public void setPeso(Float peso) {
		this.peso = peso;
	}
}
